/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package batailledesardennes.game.entity;

import batailledesardennes.game.GameEnv;
import batailledesardennes.util.geomFloat.Point;
import org.newdawn.slick.Graphics;

/**
 *
 * @author charly
 */
public abstract class BaseEntity implements Entity {

    protected GameEnv env;
    protected int entityId;
    protected int entityTypeId;
    protected Point pos;
    // flags
    protected boolean drawable;
    protected boolean selectable;
    protected boolean selected;
    protected boolean collidable;

    @Override
    public GameEnv getEnv() {
        return env;
    }

    @Override
    public int getEntityId() {
        return entityId;
    }

    @Override
    public int getEntityTypeId() {
        return entityTypeId;
    }

    @Override
    public Point getPos() {
        return pos;
    }

    @Override
    public boolean isSelected() {
        return selected;
    }

    @Override
    public boolean isSelectable() {
        return selectable;
    }

    @Override
    public void setEntityId(int entityId) {
        this.entityId = entityId;
    }

    @Override
    public void setEntityTypeId(int entityTypeId) {
        this.entityTypeId = entityTypeId;
    }

    @Override
    public void setSelectable(boolean selectable) {
        this.selectable = selectable;
    }

    @Override
    public void setSelected(boolean selected) {
        this.selected = selected;
    }

    public boolean isCollidable() {
        return collidable;
    }

    public void setCollidable(boolean collidable) {
        this.collidable = collidable;
    }

    public boolean isDrawable() {
        return drawable;
    }

    public void setDrawable(boolean drawable) {
        this.drawable = drawable;
    }

    public void draw(Graphics g) {
    }
}
